# 导入所需要的库
import cv2
# 定义保存图片函数
# image:要保存的图片名字
# addr；图片地址与相片名字的前部分
# num: 相片，名字的后缀。int 类型
def save_image(image, addr, num):
        address = addr + str(num) + '.jpg'
        cv2.imwrite(address, image)

# 读取视频文件 视频文件路径
videoCapture = cv2.VideoCapture("video/要被切分为图片的视频.mp4")
# 通过摄像头的方式导入视频
# videoCapture=cv2.VideoCapture(1)

# 按帧读取
# read_result：读取的结果，是否成功读取，true or false
# frame      ：读到的那一帧画面

frame_id = 0 #帧数id
fps = 10     #帧数设置，多少帧截图保存一次，如果你想要每一秒钟截图保存一次，你的视频是60帧，那么就设置为60
image_id = 0 #图片的编号id
read_result, frame = videoCapture.read()#读取函数
while read_result:
    frame_id = frame_id + 1
    if (frame_id % fps == 0):#如果本次循环满60帧了，到了设定的准备截图环节，就准备截图
        image_id = image_id + 1#每次保存图片后图片id都要+1
        save_image(frame, 'picture/', image_id) #视频截成图片存放的位置，保存为 image_id.jpg格式
        print('save image:', image_id, frame_id,"success")#调试打印信息
    read_result, frame = videoCapture.read()#继续读取下一帧